package ppdvi_pack.model;

import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;

@Entity
@SequenceGenerator(name="pedidoSequence",sequenceName="pedido_seq", allocationSize=1)
public class Pedido {
     
    @Id
    @GeneratedValue (strategy = GenerationType.SEQUENCE, generator="pedidoSequence")
    private int id_pedido;
    @ManyToOne
    @JoinColumn(name="id_cliente")
    private Cliente cliente;
    @ManyToOne
    @JoinColumn(name="id_formapagto")
    private FormaPagto formaPagto;
    private int nroParcelas;
    private int situacao;
    private Date dataPedido;
    private Date dataEntregaPrevista;
    private Date dataEntrega;
    private String observacao;
    private float valorTotal; // Frete + produtos
    private float valorFrete;
    private float valorProdutos;
    private float valorPago;
    private Date dataLiberacaoPedido;
/*    @OneToMany
    @JoinColumn(name="id")    
    private Usuario usuarioLiberacaoPedido;*/
    
    
    public Pedido() {
        super();        
    }

    public void setCliente(Cliente cliente) {
        this.cliente = cliente;
    }

    public Cliente getCliente() {
        return cliente;
    }

    public void setFormaPagto(FormaPagto formaPagto) {
        this.formaPagto = formaPagto;
    }

    public FormaPagto getFormaPagto() {
        return formaPagto;
    }

    public void setNroParcelas(int nroParcelas) {
        this.nroParcelas = nroParcelas;
    }

    public int getNroParcelas() {
        return nroParcelas;
    }

    public void setSituacao(int situacao) {
        this.situacao = situacao;
    }

    public int getSituacao() {
        return situacao;
    }

    public void setDataPedido(Date dataPedido) {
        this.dataPedido = dataPedido;
    }

    public Date getDataPedido() {
        return dataPedido;
    }

    public void setDataEntregaPrevista(Date dataEntregaPrevista) {
        this.dataEntregaPrevista = dataEntregaPrevista;
    }

    public Date getDataEntregaPrevista() {
        return dataEntregaPrevista;
    }

    public void setDataEntrega(Date dataEntrega) {
        this.dataEntrega = dataEntrega;
    }

    public Date getDataEntrega() {
        return dataEntrega;
    }

    public void setObservacao(String observacao) {
        this.observacao = observacao;
    }

    public String getObservacao() {
        return observacao;
    }

    public void setValorTotal(float valorTotal) {
        this.valorTotal = valorTotal;
    }

    public float getValorTotal() {
        return valorTotal;
    }

    public void setValorPago(float valorPago) {
        this.valorPago = valorPago;
    }

    public float getValorPago() {
        return valorPago;
    }

    public void setDataLiberacaoPedido(Date dataLiberacaoPedido) {
        this.dataLiberacaoPedido = dataLiberacaoPedido;
    }

    public Date getDataLiberacaoPedido() {
        return dataLiberacaoPedido;
    }

    public void setId_pedido(int id_pedido) {
        this.id_pedido = id_pedido;
    }

    public int getId_pedido() {
        return id_pedido;
    }

    public void setValorFrete(float valorFrete) {
        this.valorFrete = valorFrete;
    }

    public float getValorFrete() {
        return valorFrete;
    }

    public void setValorProdutos(float valorProdutos) {
        this.valorProdutos = valorProdutos;
    }

    public float getValorProdutos() {
        return valorProdutos;
    }
}
